<script>
import compParent from "./compParent.vue";

export default {
    render(createElement){
        console.log(this.$slots);
        console.log(this.$scopedSlots);
        // console.log(this.$scopedSlots.h1());
        return createElement( //场景一
            "div",
            [
                // this.$slots.h1, //等价于<slot name="h1"></slot>
                // this.$slots.h2, //等价于<slot name="h2"></slot>
                // this.$slots.h3, //等价于<slot name="h3"></slot>
                createElement("h1",this.$slots.h1), //等价于<h1><slot name="h1"></slot></h1>
                createElement("h2",this.$slots.h2), //等价于<h2><slot name="h2"></slot></h2>
                createElement("h3",this.$slots.h3) //等价于<h3><slot name="h3"></slot></h3>
            ]
        );
        // return createElement( //场景二
        //     "div",
        //     [
        //         createElement( //等价于<h1><slot name="h1" text="this is text1"></slot></h1>
        //             "h1",
        //             this.$scopedSlots.h1({
        //                 text:"this is text1"
        //             })
        //         ),
        //         createElement( //等价于<h2><slot name="h2" text="this is text2"></slot></h2>
        //             "h2",
        //             this.$scopedSlots.h2({
        //                 text:"this is text2"
        //             })
        //         ),
        //         createElement( //等价于<h3><slot name="h3" text="this is text3"></slot></h3>
        //             "h3",
        //             this.$scopedSlots.h3({
        //                 text:"this is text3"
        //             })
        //         )
        //     ]
        // );
        // return createElement( //场景三
        //     compParent,
        //     {
        //         scopedSlots:{ //使用作用域插槽
        //             h1:(props)=>createElement("h1",props.text),
        //             h2:(props)=>createElement("h2",props.text),
        //             h3:(props)=>createElement("h3",props.text)
        //         }
        //     }
        // );
        // return createElement( //场景四
        //     compParent,
        //     [
        //         createElement( //使用普通插槽
        //             "h1",
        //             {
        //                 slot:"h1"
        //             },
        //             "h1"
        //         ),
        //         createElement(
        //             "h2",
        //             {
        //                 slot:"h2"
        //             },
        //             "h2"
        //         ),
        //         createElement(
        //             "h3",
        //             {
        //                 slot:"h3"
        //             },
        //             "h3"
        //         )
        //     ]
        // );
        // return createElement( //场景五
        //     compParent,
        //     {
        //         scopedSlots:{
        //             h1:(props)=>{
        //                 return createElement(
        //                     "h1",
        //                     [
        //                         this.$scopedSlots.slot1({ //等价于<slot name="slot1" text="slot1"></slot>
        //                             text:"slot1"
        //                         }),
        //                         "插入了",
        //                         props.text,
        //                         "啊啊啊啊啊"
        //                     ]
        //                 )
        //             }
        //         }
        //     }
        // );
    }
}
</script>